from django.core.management.base import BaseCommand
from health_app.models import AIKnowledgeBase


class Command(BaseCommand):
    help = '初始化AI知识库数据'

    def handle(self, *args, **options):
        knowledge_data = [
            {
                'title': '戒烟的健康益处',
                'category': 'smoking_cessation',
                'content': '''戒烟后身体会发生积极的变化：

• 20分钟内：心率和血压下降
• 12小时内：血液中一氧化碳水平恢复正常
• 2-12周：循环系统改善，肺功能增强
• 1-9个月：咳嗽和呼吸急促减少
• 1年：冠心病风险降低50%
• 5年：中风风险降至与非吸烟者相同
• 10年：肺癌死亡率降低50%
• 15年：冠心病风险与非吸烟者相同''',
                'keywords': '戒烟,健康,益处,时间表,心率,血压,肺功能',
                'priority': 10
            },
            {
                'title': '应对烟瘾的即时方法',
                'category': 'smoking_cessation',
                'content': '''当烟瘾来袭时，尝试以下方法：

1. **深呼吸法**：缓慢吸气4秒，屏住4秒，呼气4秒
2. **喝水**：大口喝一杯温水或冷水
3. **转移注意力**：做其他事情，如散步、听音乐
4. **口腔替代**：嚼口香糖、吃胡萝卜条
5. **按摩**：按摩耳朵或太阳穴
6. **冷水洗脸**：用冷水洗脸提神
7. **正向思维**：想想戒烟的好处和目标

记住：烟瘾通常只持续3-5分钟！''',
                'keywords': '烟瘾,应对,方法,深呼吸,转移注意力,替代',
                'priority': 9
            },
            {
                'title': '戒烟过程中的情绪管理',
                'category': 'psychological_support',
                'content': '''戒烟过程中出现情绪波动是正常的，以下方法有助于情绪管理：

**情绪调节技巧**：
• 接纳自己的情绪，不要抗拒
• 练习冥想和正念
• 保持规律的运动
• 确保充足的睡眠
• 与朋友和家人交流

**应对负面情绪**：
• 焦虑：深呼吸、渐进性肌肉放松
• 烦躁：听音乐、温水澡
• 抑郁：晒太阳、社交活动
• 愤怒：运动发泄、写日记

记住：这些感受是暂时的，会随着时间改善！''',
                'keywords': '情绪,管理,焦虑,烦躁,抑郁,冥想,运动',
                'priority': 8
            },
            {
                'title': '戒烟动机激励语录',
                'category': 'motivation',
                'content': '''当你想要放弃时，记住这些话：

• "每一支不抽的烟都是对自己的奖励"
• "戒烟不是失去什么，而是重获健康"
• "今天的坚持是明天的感谢"
• "你比你想象的更强大"
• "健康是最好的财富"
• "为了爱你的人，也为了你爱的人"
• "每一天的坚持都在创造奇迹"
• "戒烟是给自己最好的礼物"
• "困难是暂时的，健康是永久的"
• "你已经证明了自己的勇气"

相信自己，你一定可以成功！''',
                'keywords': '动机,激励,语录,坚持,健康,勇气,成功',
                'priority': 7
            },
            {
                'title': '戒烟期间的营养建议',
                'category': 'nutrition',
                'content': '''戒烟期间合理的营养搭配有助于缓解戒断症状：

**推荐食物**：
• 新鲜水果：苹果、橙子、葡萄（提供维生素C）
• 蔬菜：胡萝卜、芹菜（可以咀嚼缓解口欲）
• 坚果：杏仁、核桃（健康零食）
• 全谷物：燕麦、糙米（稳定血糖）
• 蛋白质：鱼类、豆类、瘦肉

**避免食物**：
• 过多咖啡因
• 辛辣食物
• 高糖食品
• 酒精

**饮水建议**：
每天至少8杯水，有助于排毒和缓解戒断症状。''',
                'keywords': '营养,饮食,维生素,水果,蔬菜,戒断症状',
                'priority': 6
            },
            {
                'title': '适合戒烟者的运动方案',
                'category': 'exercise',
                'content': '''运动是戒烟过程中的重要支持：

**有氧运动**（每周3-5次，每次30分钟）：
• 快走或慢跑
• 游泳
• 骑自行车
• 舞蹈

**力量训练**（每周2-3次）：
• 俯卧撑
• 仰卧起坐
• 哑铃训练
• 阻力带练习

**放松运动**（每天）：
• 瑜伽
• 太极
• 拉伸运动

**运动的好处**：
• 缓解压力和焦虑
• 改善睡眠质量
• 控制体重
• 增强肺功能
• 释放内啡肽，改善情绪''',
                'keywords': '运动,锻炼,有氧,力量训练,瑜伽,压力,睡眠',
                'priority': 6
            },
            {
                'title': '预防复吸的策略',
                'category': 'relapse_prevention',
                'content': '''预防复吸需要长期的策略和警惕：

**高危情况识别**：
• 饮酒场合
• 压力大的时候
• 社交聚会
• 看到别人吸烟
• 情绪低落时

**预防策略**：
• 避开高危环境
• 准备应对计划
• 寻求支持网络
• 保持积极心态
• 记录成功经验

**如果复吸了**：
• 不要自责，这是正常现象
• 分析复吸原因
• 调整戒烟策略
• 重新开始，不要放弃
• 寻求专业帮助

记住：复吸不等于失败，每次尝试都是学习！''',
                'keywords': '复吸,预防,高危,策略,支持,重新开始',
                'priority': 8
            },
            {
                'title': '紧急求助指南',
                'category': 'emergency_help',
                'content': '''当你感到无法控制吸烟冲动时：

**立即行动**：
1. 打开这个应用，查看戒烟进展
2. 给戒烟热线打电话：400-808-5531
3. 联系支持你的朋友或家人
4. 离开当前环境
5. 做深呼吸练习

**紧急替代活动**：
• 快速洗澡
• 刷牙
• 嚼薄荷糖
• 喝大量水
• 做俯卧撑
• 大声说"我选择健康"

**专业资源**：
• 戒烟门诊
• 心理咨询师
• 戒烟微信群
• 在线戒烟社区

记住：这种感觉会过去，你不是一个人在战斗！''',
                'keywords': '紧急,求助,热线,替代活动,专业资源,支持',
                'priority': 10
            }
        ]

        created_count = 0
        for data in knowledge_data:
            knowledge, created = AIKnowledgeBase.objects.get_or_create(
                title=data['title'],
                defaults=data
            )
            if created:
                created_count += 1
                self.stdout.write(
                    self.style.SUCCESS(f'创建知识库条目: {knowledge.title}')
                )
            else:
                self.stdout.write(
                    self.style.WARNING(f'知识库条目已存在: {knowledge.title}')
                )

        self.stdout.write(
            self.style.SUCCESS(f'成功创建了 {created_count} 个知识库条目！')
        )